
#include <hidef.h> /* for EnableInterrupts macro */

#include "Headers/GPIO.h"
#include "Headers/define.h"
#include "Headers/derivative.h" /* include peripheral declarations */
/*
* this function help you to set the I/O
* puerto:-------->write in capital letter the port name
* number:-------->write the number with letters that you wanna use
* configuracion:->input/output whatever you want in your configuration
* pull_up:------->enable the pull up on the number port
*
*/
void GPIO_config(char puerto, char numero, char configuracion, char pull_up){
           if(puerto == 'A'){
              if(configuracion)PTADD |= numero;
              else PTADD &= ~numero;
              if(pull_up == on)PTAPE |= numero;
              else PTAPE &= ~numero;
           }else if(puerto == 'B'){
              if(configuracion)PTBDD |= numero;
              else PTBDD &= ~numero;
              if(pull_up == on)PTBPE |= numero;
              else PTBPE &= ~numero;
           }else if(puerto == 'C'){
              if(configuracion)PTCDD |= numero;
              else PTCDD &= ~numero;
              if(pull_up == on)PTCPE |= numero;
              else PTCPE &= ~numero;
           }else if(puerto == 'D'){
              if(configuracion)PTDDD |= numero;
              else PTDDD &= ~numero;
              if(pull_up == on)PTDPE |= numero;
              else PTDPE &= ~numero;
           }else if(puerto == 'E'){
              if(configuracion)PTEDD |= numero;
              else PTEDD &= ~numero;
              if(pull_up == on)PTEPE |= numero;
              else PTAPE &= ~numero;
           }else if(puerto == 'F'){
              if(configuracion)PTFDD |= numero;
              else PTFDD &= ~numero;
              if(pull_up == on)PTFPE |= numero;
              else PTFPE &= ~numero;
           }else if(puerto == 'G'){
              if(configuracion)PTGDD |= numero;
              else PTGDD &= ~numero;
              if(pull_up == on)PTGPE |= numero;
              else PTGPE &= ~numero;
           }
}
